<template>
  <el-container class="layout-container-demo" style="height: 100vh; width: 100vw;">
    <el-aside width="200px">
      <el-scrollbar>
        <div class="logo">
          <el-icon><IconMenu/></el-icon>
          <span>Admin</span>
        </div>
        <el-menu :default-openeds="['3']" router>
          <Tree v-if="menu.length > 0" :menu="menu"/>
        </el-menu>
      </el-scrollbar>
    </el-aside>

    <el-container>
      <el-header style="text-align: right; font-size: 12px">
        <div class="toolbar">
          <el-dropdown>
            <el-icon style="margin-right: 8px; margin-top: 1px"><setting/></el-icon>
            <template #dropdown>
              <el-dropdown-menu><el-dropdown-item>View</el-dropdown-item></el-dropdown-menu>
            </template>
          </el-dropdown>
          <span>Tom</span>
        </div>
      </el-header>
      <el-main>
        <el-scrollbar>
          <router-view></router-view>
        </el-scrollbar>
      </el-main>
    </el-container>
  </el-container>
</template>

<script lang="ts" setup>
import { ref } from 'vue'

const menu = ref([
  {
    name:'system',
    children:[
      {
        name:'user',
        path:'/system/user',
        children:[]
      },
      {
        name:'role',
        path:'/system/role',
        children:[]
      }
    ]
  },
  {
    name:'b',
    children:[
      {
        name:'b1',
        path:'/b1',
        children:[]
      },
      {
        name: 'b2',
        path: '/b2',
        children:[]
      }
    ]
  }
])
</script>

<style scoped>
.layout-container-demo .el-header {
  position: relative;
  background-color: var(--el-color-primary-light-7);
  color: var(--el-text-color-primary);
}
.layout-container-demo .el-aside {
  color: var(--el-text-color-primary);
  background: var(--el-color-primary-light-8);
}
.layout-container-demo .el-menu {
  border-right: none;
}
.layout-container-demo .el-main {
  padding: 0;
}
.layout-container-demo .toolbar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  right: 20px;
}
.logo{
  height: 60px;
  line-height: 60px;
  font-size: 2rem;
  user-select: none;
  cursor: pointer;
}
</style>